Opportunistic locks (“oplocks”) are used by file systems to provide clients, such as local and/or remote applications, with the ability to cache file data, while providing a mechanism for promoting data consistency when multiple clients read/write the same file. Additionally, an oplock provides an application with the ability to “back off” from accessing a file so that the application does not interfere with another application's access to the file. In one example, a first application may negotiate an oplock on a text file stored on a file system. The first application may locally cache data corresponding to the text file to reduce network traffic and/or access requests in accessing such data (e.g., multiple writes may be performed locally to the cached data). If a second application attempts to access the text file on the file system, then the file system may break the oplock by sending notification to the first application to update changes on the text file back to the file system. In this way, the text file may remain consistent between the first application, the second application, and the file system. Unfortunately, oplocks are currently available for files, but not directories. Thus, if a first application locally caches directory contents from a file system, and a second application changes the directory on the file system, then the first application's locally cached directory contents may be stale because the first application is not notified of the second application's changes to the directory.